﻿<!DOCTYPE html>
<html lang="en">
<head>
    <title id='Description'>In this sample, the jqxValidator displays error labels instead of error tooltips.</title>
    <link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" />
    <script type="text/javascript" src="../../scripts/jquery-1.10.2.min.js"></script>   
    <script type="text/javascript" src="../../jqwidgets/jqxcore.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxexpander.js"></script> 
    <script type="text/javascript" src="../../jqwidgets/jqxvalidator.js"></script> 
    <script type="text/javascript" src="../../jqwidgets/jqxbuttons.js"></script> 
    <script type="text/javascript" src="../../jqwidgets/jqxcheckbox.js"></script> 
    <script type="text/javascript" src="../../jqwidgets/globalization/globalize.js"></script> 
    <script type="text/javascript" src="../../jqwidgets/jqxcalendar.js"></script> 
    <script type="text/javascript" src="../../jqwidgets/jqxdatetimeinput.js"></script> 
    <script type="text/javascript" src="../../jqwidgets/jqxmaskedinput.js"></script> 
    <script type="text/javascript" src="../../jqwidgets/jqxinput.js"></script> 
    <script type="text/javascript" src="../../scripts/demos.js"></script> 
    <script type="text/javascript">
        $(document).ready(function () {
            var theme = getDemoTheme()
            $("#register").jqxExpander({ toggleMode: 'none', width: '350px', showArrow: false});
            $('#sendButton').jqxButton({ width: 60, height: 25});
            $('#acceptInput').jqxCheckBox({ width: 130});

            $('#sendButton').on('click', function () {
                $('#testForm').jqxValidator('validate');
            });
            $("#ssnInput").jqxMaskedInput({ mask: '###-##-####', width: 200, height: 22});
            $("#phoneInput").jqxMaskedInput({ mask: '(###)###-####', width: 200, height: 22});
            $("#zipInput").jqxMaskedInput({ mask: '###-##-####', width: 200, height: 22});

            $('.text-input').jqxInput({ theme: theme });

            var date = new Date();
            date.setFullYear(2000, 0, 1);
            $('#birthInput').jqxDateTimeInput({  width: 200, height: 22, value: date });

            // initialize validator.
            $('#testForm').jqxValidator({
                hintType: 'label',
                animationDuration: 0,
             rules: [
                    { input: '#userInput', message: 'Username is required!', action: 'keyup, blur', rule: 'required' },
                    { input: '#userInput', message: 'Your username must be between 3 and 12 characters!', action: 'keyup, blur', rule: 'length=3,12' },
                    { input: '#realNameInput', message: 'Real Name is required!', action: 'keyup, blur', rule: 'required' },
                    { input: '#realNameInput', message: 'Your real name must contain only letters!', action: 'keyup', rule: 'notNumber' },
                    { input: '#realNameInput', message: 'Your real name must be between 3 and 12 characters!', action: 'keyup', rule: 'length=3,12' },
                    { input: '#birthInput', message: 'Your birth date must be between 1/1/1900 and 1/1/2012.', action: 'valuechanged', rule: function (input, commit) {
                        var date = $('#birthInput').jqxDateTimeInput('value');
                        var result = date.getFullYear() >= 1900 && date.getFullYear() <= 2012;
                        // call commit with false, when you are doing server validation and you want to display a validation error on this field. 
                        return result;
                    }
                    },
                    { input: '#passwordInput', message: 'Password is required!', action: 'keyup, blur', rule: 'required' },
                    { input: '#passwordInput', message: 'Your password must be between 4 and 12 characters!', action: 'keyup, blur', rule: 'length=4,12' },
                    { input: '#passwordConfirmInput', message: 'Password is required!', action: 'keyup, blur', rule: 'required' },
                    { input: '#passwordConfirmInput', message: 'Passwords doesn\'t match!', action: 'keyup, focus', rule: function (input, commit) {
                        // call commit with false, when you are doing server validation and you want to display a validation error on this field. 
                        if (input.val() === $('#passwordInput').val()) {
                            return true;
                        }
                        return false;
                    }
                    },
                    { input: '#emailInput', message: 'E-mail is required!', action: 'keyup, blur', rule: 'required' },
                    { input: '#emailInput', message: 'Invalid e-mail!', action: 'keyup', rule: 'email' },
                    { input: '#ssnInput', message: 'Invalid SSN!', action: 'valuechanged, blur', rule: 'ssn' },
                    { input: '#phoneInput', message: 'Invalid phone number!', action: 'valuechanged, blur', rule: 'phone' },
                    { input: '#zipInput', message: 'Invalid zip code!', action: 'valuechanged, blur', rule: 'zipCode' },
                    { input: '#acceptInput', message: 'You have to accept the terms', action: 'change', rule: 'required', position: 'right:0,0'}]
            });
        });
    </script>
    <style type="text/css">
        .text-input
        {
            height: 21px;
            width: 200px;
        }
        .register-table
        {
            margin-top: 10px;
            margin-bottom: 10px;
        }
        .register-table td, 
        .register-table tr
        {
            margin: 0px;
            padding: 2px;
            border-spacing: 0px;
            border-collapse: collapse;
            font-family: Verdana;
            font-size: 12px;
        }
        h3 
        {
            display: inline-block;
            margin: 0px;
        }
    </style>
</head>
<body class='default'>
    <div id="register">
        <div><h3>Register</h3></div>
        <div style="overflow: hidden;">
            <form id="testForm" action="./">
                <table class="register-table">
                    <tr>
                        <td valign="top" >Username:</td>
                        <td valign="top"><input type="text" id="userInput" class="text-input" /></td>
                    </tr>
                    <tr>
                        <td valign="top">Password:</td>
                        <td valign="top"><input type="password" id="passwordInput" class="text-input" /></td>
                    </tr>
                    <tr>
                        <td valign="top">Confirm password:</td>
                        <td valign="top"><input type="password" id="passwordConfirmInput" class="text-input" /></td>
                    </tr>
                    <tr>
                        <td valign="top">Real name:</td>
                        <td valign="top"><input type="text" id="realNameInput" class="text-input" /></td>
                    </tr>
                    <tr>
                        <td valign="top">Birth date:</td>
                        <td valign="top"><div id="birthInput"></div></td>
                    </tr>
                    <tr>
                        <td valign="top"E-mail:></td>
                        <td valign="top"><input type="text" id="emailInput" placeholder="someone@mail.com" class="text-input" /></td>
                    </tr>
                    <tr>
                        <td valign="top">SSN:</td>
                        <td valign="top"><div id="ssnInput"></div></td>
                    </tr>
                    <tr>
                        <td valign="top">Phone:</td>
                        <td valign="top"><div id="phoneInput"></div></td>
                    </tr>
                    <tr>
                        <td valign="top">Zip code:</td>
                        <td valign="top"><div id="zipInput"></div></td>
                    </tr>
                    <tr>
                        <td valign="top" colspan="2" style="padding: 5px;"><div id="acceptInput" style="margin-left: 100px;">I accept terms</div></td>
                    </tr>
                    <tr>
                        <td colspan="2" style="text-align: center;"><input type="button" value="Send" id="sendButton" /></td>
                    </tr>
                </table>
            </form>
        </div>
    </div>
</body>
</html>